1. Field of the Invention
The present invention relates generally to methods and apparatuses for implementing an Ethernet physical media using a digital bus that includes three wires.
2. Description of the Related Art
The growth of local-area networks (LANs) has been driven by the introduction of Ethernet Technology as well as the availability of powerful, affordable personal computers and workstations.
Ethernet
Ethernet is a Media Access Control (MAC) layer network communications protocol specified by the Institute of Electrical and Electronics Engineers (IEEE) in IEEE specification 802.3 (the xe2x80x9c802.3 specificationxe2x80x9d). When the Ethernet protocol is used, network devices each listen on a network bus and transmit only when no other network device is transmitting. Occasionally, two nodes do transmit nearly simultaneously and a collision occurs. A network that that includes detection of such collisions is referred to as a Carrier Sense Multiple Access Collision Detection (CSMA/CD) network.
Early Ethernet applications used a coaxial cable that carried an analog signal for the bus. Collisions were detected by analyzing the analog signal on the line to determine when two network devices were transmitting. In one implementation, collisions were detected by measuring the energy on the bus. Later, Ethernet was implemented on a set of digital communication lines that included separate transmit and receive lines. In such systems, collisions are detected by each network device by noting when data appears on the receive line while the network device is transmitting. The separate transmit and receive digital lines for each device make it necessary to have a hub to connect each of the transmit lines of the network devices to all of the receive lines of other network devices. Ethernet hubs are also referred to as repeaters. An Ethernet repeater serves as a central station for connecting network devices included in an Ethernet network, hence the term xe2x80x9chub.xe2x80x9d An Ethernet repeater receives messages from the transmission lines of network devices that are plugged into it and broadcasts (or xe2x80x9crepeatsxe2x80x9d) the message to all of the devices on the network on their receive lines.
As the Ethernet standard has evolved, the basic CSMA/CD scheme has remained for the most part the same. In July 1993, a group of networking companies joined to form the Fast Ethernet Alliance. The charter of the group was to draft the 802.3u 100BaseT specification (xe2x80x9c802.3u specificationxe2x80x9d) of the Institute of Electrical and Electronics Engineers (IEEE) and to accelerate market acceptance of Fast Ethernet technology. The final IEEE 802.3 specification was approved in June 1995. Among the other goals of the Fast Ethernet Alliance are: to maintain the Ethernet transmission protocol (CSMA/CD); to support popular cabling schemes; and to ensure that Fast Ethernet technology will not require changes to the upper-layer protocols and software that run on LAN workstations. For example, no changes are necessary to Simple Network Management Protocol (SNMP) management software or Management Information Bases (MIBs) in order to implement Fast Ethernet.
CSMA/CD
Carrier sense-collision detection is widely used in LANs. Many vendors use this technique with Ethernet and the IEEE 802.3 specification. A carrier sense LAN considers all stations as peers; the stations contend for the use of the channel on an equal basis. Before transmitting, the stations monitor the channel to determine if the channel is active (that is, if another station is sending data on the channel). If the channel is idle, any station with data to transmit can send its traffic onto the channel. If the channel is occupied, the stations must defer to the station using the channel.
FIG. 1A depicts a carrier sense-collision detection LAN. Network devices 102, 104, 106, and 108 are attached to a network bus 110. Only one network device at a time is allowed to broadcast over the bus. If more than one device were to broadcast at the same time, the combination of signals on the bus would likely not be intelligible. For example, assume network devices 102 and 104 want to transmit traffic. Network device 108, however, is currently using the channel, so network devices 102 and 104 must xe2x80x9clistenxe2x80x9d and defer to the signal from network device 108, which is occupying the bus. When the bus goes idle, network devices 102 and 104 can then attempt to acquire the bus to broadcast their messages.
Because network device 108""s transmission requires time to propagate to other network devices, the other network devices might be unaware that network device 102""s signal is on the channel. In this situation, network device 102 or 104 could transmit its traffic even if network device 108 had already seized the channel after detecting that the channel was idle.
Each network device is capable of transmitting and listening to the channel simultaneously. When an analog communication line is used and two network device signals collide, they create voltage irregularities on the channel, which are sensed by the colliding network devices. The network devices then turn off their transmission and, through an individually randomized wait period, attempt to seize the channel again. Randomized waiting decreases the chances of another collision because it is unlikely that the competing network devices generate the same wait time. When digital lines are used, the network devices detect collisions by detecting data on the receive line at the same time as they are transmitting.
FIG. 1B is a block diagram illustrating a topology used in a conventional analog Ethernet network. An analog bus line 100 connects network devices 112, 114, and 116. Additional network devices may be added to the network by simply tapping into analog bus line 100. Since each network device transmits and receives on the same line, there is no need to include a device to connect the transmit lines of one network device to the receive lines of another network device. Each network device listens on analog bus line 100 before transmitting to make sure that no other network device is already using the bus. When two network devices simultaneously or nearly simultaneously begin transmitting, a collision occurs. The collision is sensed by the network devices by analyzing the analog signal on line 100.
FIG. 1C is a block diagram illustrating a digital implementation of a digital Ethernet network that includes network devices 122, 124, and 126 and 128. The digital Ethernet network does not include a common bus line as shown in FIG. 1B for the analog Ethernet network. That is because each network device includes both a transmit data line and a receive data line. Each network device therefore, must be connected to a Repeater 120. Repeater 120 receives the data transmitted on each of the data transmit lines belonging to the different network devices and repeats the transmitted data onto a each of the data receive lines of the network devices. Repeater 120 is also referred to as a hub. The interface between each network device and the repeater includes 7 wires that carry a set of signals according to the Ethernet network standard.
It would be useful if a digital Ethernet network could be implemented without requiring the use of a hub. Furthermore, it would be useful if the number of wires required to provide connections to each of the network devices in such a network could be minimized.
Accordingly, a digital Ethernet network is disclosed that allows transmission of data by multiple stations on a shared bus and does not require a hub or repeater. In one embodiment, the network uses only two wires to transmit and receive data, and a third wire for a common clock. The two data wires are logical complements of each other while data is being transmitted. Collisions are detected based on the signals transmitted on the two wires before corrupted data is transferred.
It should be appreciated that the present invention can be implemented in numerous ways, including as a process, an apparatus, a system, a device, a method, or a computer readable medium. Several inventive embodiments of the present invention are described below.
In one embodiment, a system and method are disclosed for transmitting signals from a digital MAC interface to a bus and for transmitting signals from a bus to a digital MAC interface. A first bus data line is modulated by holding the first bus data line at a potential when the transmit data line is in a first state and allowing the first bus data line to float when the transmit data line is in a second state when data transmission from the digital MAC interface is enabled. A second bus data line is modulated by holding the second bus data line at a potential when the transmit data line is in the second state and by allowing the second bus data line to float when the transmit data line is in the first state. One of the bus data lines is connected to a receive data line on the digital MAC interface. The state of the first data line is compared to the state of the second data line the collision line is set to a fist preselected state when the state of the first data line and the state of the second data line are both a second preselected state.
These and other features and advantages of the present invention will be presented in more detail in the following specification of the invention and the accompanying figures which illustrate by way of example the principles of the invention.